#ifndef SYS_INFO_H
#define SYS_INFO_H

//定义一个结构体
///@brief 用来存储从/proc/stat/读取到的CPU时间片信息
/*/proc/stat文件的第一行'cpu...'后面跟着一串数字，
这些数字代表CPU在不同状态下花费的时间片 */
typedef struct time_inf
{
    long long total;//所有时间片的总和
    long long idle;//其中处于空闲状态的时间片
}cpu_time_t;

//定义一个内存结构体
///@brief 用来存储从/proc/meminfo/读取到的CPU时间片信息
/*/proc/meminfo文件包含了系统的内存情况，
一个是MemTotal:总物理内存大小
一个是MemAvailable:当前可用的内存大小 */
typedef struct 
{
    unsigned long total_kb;     //当前的总内存  kb
    unsigned long available_kb; //可用内存    kb
}mem_info_t;



//函数1声明
///@brief 获取cpu的使用率
///@return 返回值是一个浮点型数字，表示利用率
double get_cpu_usage(void);

//函数2声明
///@brief 获取内存的信息
///@return 返回值是一个mem_info_t的结构体类型
mem_info_t get_memory_info(void);

//函数3声明
///@brief 获取温度的信息
///@return 返回值是一个float类型
float get_cpu_temperature(void);


#endif